package com.taskmanagement.mapper;

import com.taskmanagement.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.math.BigInteger;
import java.util.List;

@Mapper
public interface UserMapper {

    // 根据用户名查询用户
    User findByUsername(@Param("username") String username);

    // 根据ID查询用户
    User findById(@Param("id") BigInteger id);

    // 根据邮箱查询用户
    User findByEmail(@Param("email") String email);

    // 检查用户名是否存在
    boolean existsByUsername(@Param("username") String username);

    // 检查邮箱是否存在
    boolean existsByEmail(@Param("email") String email);

    // 插入用户
    int insert(User user);

    // 更新用户
    int update(User user);

    // 删除用户
    int deleteById(@Param("id") BigInteger id);

    // 新增方法
    List<User> findAll();

}
